﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class playListMusic : System.Web.UI.Page
{
    //全局变量存储歌曲路径
    public string fileUrl;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //获取多个歌曲的id
            string[] sid = Request["id"].ToString().Split(',');
            //清空播放列表
            Select1.Items.Clear();
            //循环添加歌曲的列表
            for (int i = 0; i < sid.Length - 1; i++)
            {
                //创建SQL语句，查询歌曲的名称
                string sql = "select musicName from tb_musicInfo where id=" + sid[i];
                //创建ListItem对象
                ListItem lit = new ListItem();
                //添加歌曲的id值
                lit.Value = sid[i];
                //添加歌曲的文本
                lit.Text = dataoperate.getTier(sql);
                //将所有歌曲添加到列表中
                Select1.Items.Add(lit);

            }
            //设置列表中第一个歌曲为选中状态
            Select1.Items[0].Selected = true;
            //创建SQL语句获取第一个歌曲的路径
            string sqlSel = "select musicPath from tb_musicInfo where id=" + sid[0];
            //设置路径
            string url = "musicFile/" + dataoperate.getTier(sqlSel);
            //将路径保存到全局变量中
            fileUrl = setUrl(url);

        }
    }

    public string setUrl(string url)
    {
        //获取当前的绝对路径
        string sss = Request.Url.AbsoluteUri;
        //查询play.aspx在字符串中的位置
        int idx = sss.IndexOf("playListMusic.aspx");
        //获取指定字符串
        sss = sss.Substring(0, idx);
        return sss + url;

    }



    //播放所选择的歌曲
    protected void btnSelectPlay_Click(object sender, EventArgs e)
    {
        //获取当前在列表中选择的id
        string id = Select1.Items[Select1.SelectedIndex].Value;
        //创建SQL语句，根据id查询出歌曲的路径
        string sqlSel = "select musicPath from tb_musicInfo where id=" + id;
        //保存歌曲的路径
        fileUrl = setUrl("musicFile//" + dataoperate.getTier(sqlSel));

    }

    //根据所选的模式播放
    protected void btnIsPlay_Click(object sender, EventArgs e)
    {
        
        string id = "";
        //获取列表中当前所选择的索引号
        int selectIx = Select1.SelectedIndex;
        //判断播放的模式0表示顺序播放
        if (ddlPlayType.SelectedValue == "0")
        {
            //获取列表项的总数
            int listCount = Select1.Items.Count;
            //获取当前选择的id
            int playId = Convert.ToInt32(Select1.Items[Select1.SelectedIndex].Value);
            //判读播放是否为列表中最后一首歌
            if ((selectIx+1) == listCount)
            {
                //取消当前歌曲的选择
                Select1.Items[selectIx].Selected = false;
                //设置第一首歌为选择状态
                Select1.Items[0].Selected = true;
                //获取第一首歌的id
                id = Select1.Items[0].Value;
            }
            else
            {
                //获取下一首个的id 
                id = Select1.Items[Select1.SelectedIndex + 1].Value;
                //取消当前歌曲的选择状态
                Select1.Items[selectIx].Selected = false;
                //设置下一首歌为选择状态
                Select1.Items[selectIx + 1].Selected = true;
            }
        }
            //判断是否为随机播放
        else if (ddlPlayType.SelectedValue == "1")
        {
            //创建Random对象
            Random rad = new Random();
            //创建一个随机数
            int radIx = rad.Next(0, Select1.Items.Count);
            //获取歌曲id
            id = Select1.Items[radIx].Value;
            //取消当前歌曲的选择状态
            Select1.Items[selectIx].Selected = false;
            //设置下一首歌为选择状态
            Select1.Items[radIx].Selected = true;

        }
            //单曲播放
        else
        {
            //获取歌曲的id
            id = Select1.Items[selectIx].Value;
        }
        //创建SQL语句，获取歌曲的路径
        string sqlSel = "select musicPath from tb_musicInfo where id=" + id;
        //保存歌曲的路径
        fileUrl = setUrl("musicFile//" + dataoperate.getTier(sqlSel));

    }
}
